The present invention relates to a distributed processing system which provides a composite function by combining independent functions such as a data input function, data output function, and the like, and its control method.
Conventionally, a distributed document processing system that connects independent function devices such as input devices including an image scanner, digital camera, facsimile receiver, and the like, and output devices including a printer, facsimile transmitter, and the like via a network, and provides a composite function by combining the functions of these independent function devices have been extensively developed and studied. Likewise, a multi-function product (MFP) that integrates the functions of the independent function devices in a single housing is required to extract its internal independent function and to combine it with the function of another device via a network so as to flexibly implement various composite functions.
As a programming model that allows to easily provide functions in information processing devices distributed in the network, remote procedure call (RPC) and distributed object techniques are prevalent. The distributed object technique corresponds to an object-oriented software model expanded to a distributed system, and allows an object on a given node to call an operation for an object on another network node (through the network) in the same procedure as a procedure in which an object on a given network node calls an operation for another object on the identical node.
In document processing including document input and output processes, flexible collaboration of a plurality of functions can be achieved by applying the distributed object technique. As proposals of a system based on the distributed object, which considers distributed processes other than information processes such as pure computations, JINI as an application of Java proposed by Sun Microsystems, and a common facility for a print process in CORBA proposed by Object Management Group (OMG) are known.
When various devices for document processes connected to the network can be controlled by the distributed object technique, a flexible client application which can freely combine various devices that provide objects based on a predetermined interface can be easily described.
By making an application execute the following operations, a client application that can dynamically cope with a change in control interface upon expansion of devices or the like can be easily described. First, the application dynamically inquires of a node which provides an object about an interface for operating that object. Second, the application dynamically acquires interface information of a stub which hides a communication with a server object which is located at a remote place and actually provides services. Third, the application dynamically downloads a proxy object.
However, in the prior art, the following problems are posed upon combining the functions of document processing devices on an operation environment of the client application.
More specifically, a case will be examined below wherein a client application that implements a required combined function by combining document processing devices which are connected via a network and have independent and composite functions is described, and especially, document input and output devices are combined. For example, an image scanner as the document input device and an image printer as the document output device are combined to realize a network-distributed copying machine. In such case, a client application calls a scan function of the image scanner to acquire image data of a document image. In general, the image data has a very large data size. The client application then calls a print function of the image printer, and proceeds with transfer of image data acquired by the scanner to the printer. In this way, when viewed from the client application, an application can be described using simple, integrated function calls regardless of the locations of objects and network nodes. Therefore, various document processing devices can be easily combined. However, the following problems are posed.
That is, since image data transfer processes from the scanner to the client application and then from the client application to the printer are executed, heavy communication traffic is produced on the network. The operation environment of the client application requires a large storage area, which occupies most of the storage capacity. Since these problems consume precious resources in large quantities, the cost problem is posed.
Especially, even when document image data is not used in practice like in a case wherein the printer goes to an error state after the beginning of document input from the scanner, image data is transferred from the scanner to the client application. For this reason, dead communication traffic increases on the network, and the storage area for the operation of the client application is wasted. Also, even when the scanner and printer as independent devices operate in combination, two transfer processes of image data from the scanner to the client application and from the client application to the printer are required, thus increasing dead communication traffic on the network and wasting the storage area for the operation of the client application.
The present invention has been made to solve the aforementioned problems, and has as its first object to provide a distributed processing system which includes devices that can be controlled by the distributed object technique, and is advantageous in terms of cost since it does not temporarily store image data upon operation of a client application to obviate the need for a large storage area as an operation environment of the client, and its control method.
It is the second object of the present invention to provide a distributed processing system which avoids data transfer processes from an input device to a client application and from the client application to an output device to reduce network traffic, and its control method.
It is the third object of the present invention to provide a distributed processing system which can reduce network traffic by decreasing the storage capacity required to operate a client application without using any network resources for document data transfer, when an object for a document input process and an object for a document output process provided by a single MFP are combined by the client application, and which can implement special control upon combining the input and output functions in the single MPF without impairing flexibility and expandability of combinations of distributed objects, since the client application and the document input and output objects make that control in the same procedure as that of normal distributed object control, and its control method.
In order to achieve the above objects, the present invention comprises the following arrangement.
A distributed processing system comprises:
a first device which saves a driver module that is executed by an external device to achieve a predetermined function; and
a controller for acquiring the driver module from the first device, and transmitting the driver module to a second device that uses the first device, and the second device drives the first device by executing the driver module.
Preferably, the first device is a document input device, the second device is a document output device, and the first and second devices are connected to the controller via a network.
Preferably, the first device is a document output device, the second device is a document input device, and the first and second devices are connected to the controller via a network.
Preferably, the system further comprises a management unit for managing information which pertains to the driver module the first device saves, and the controller acquires the driver module from the first device by looking up the information managed by the management unit.
Preferably, when the first device is connected to the management unit, the first device sends information which pertains to the driver module the first device saves to the management unit.
According to another aspect of the present invention, a network device controlled by a control apparatus connected to a network, comprises:
a receiving unit for receiving a driver module, which makes another device connected to the network execute a predetermined function, from the control apparatus; and
a communication unit for making the other device execute the function provided by the driver module, and transmitting/receiving data to/from the other device in association with the function under the control of the control apparatus.
According to still another aspect of the present invention, a driver server comprises:
a first storage unit for storing driver modules to be executed by a given device so as to allow the given device to use another device connected to a network; and
a table for managing the driver modules stored in the first storage unit so as to be searchable by the given device.
Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.